Gate aca_ptc on tax_unit_is_filer for non-filers#7753
Gate aca_ptc on tax_unit_is_filer for non-filers#7753juaristi22 wants to merge 1 commit intoPolicyEngine:mainfrom
Conversation
…lation Non-filers cannot claim the ACA Premium Tax Credit (26 USC § 36B requires filing Form 8962). Previously, aca_ptc computed nonzero values for non-filing tax units, inflating aggregate PTC in calibrated datasets. Closes PolicyEngine#7748 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7753 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 2 1 -1
Lines 13 18 +5
=========================================
+ Hits 13 18 +5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Oh I'm so stuck here. Concerned about this: |
|
Hi @juaristi22 — we've been working through a related issue in policyengine-us-data's calibration pipeline and concluded that the causal direction here should be reversed. In reality, ACA marketplace enrollment (receiving APTC) creates a legal obligation to file (IRC § 36B reconciliation). So rather than gating PR #7782 adds See #7781 for the full discussion. Would love your thoughts on this approach. |
|
After further investigation, we believe the current behavior on main is correct — The ACA Premium Tax Credit is received as APTC (monthly premium reductions) at enrollment time, before any tax filing happens. Filing is required to reconcile, but the benefit flows regardless. Gating on The Apologies for the earlier comment suggesting our PR #7782 as an alternative — we got confused ourselves and are closing that one too. See below. |
Summary
aca_ptc.formula_2024ontax_unit_is_filerso non-filers correctly receive $0 PTCCloses #7748
Test plan
tax_unit_is_filer: trueso each test validates its intended logic path🤖 Generated with Claude Code